/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pt.iasd.youthshelter.datamodel.service;

import java.util.List;
import org.openide.util.Lookup;
import pt.iasd.youthshelter.datacore.controller.exceptions.IllegalOrphanException;
import pt.iasd.youthshelter.datacore.controller.exceptions.NonexistentEntityException;
import pt.iasd.youthshelter.datamodel.Activity;

/**
 *
 * @author Rui
 */
public interface ActivityController extends Lookup.Provider {

    void create(Activity activity);

    void destroy(Integer id) throws IllegalOrphanException, NonexistentEntityException;

    void edit(Activity activity) throws IllegalOrphanException, NonexistentEntityException, Exception;

    Activity findActivity(Integer id);

    List<Activity> findActivityEntities();

    List<Activity> findActivityEntities(int maxResults, int firstResult);
    
    List<Activity> findCurrentActivityEntities();

    List<Activity> findCurrentActivityEntities(int maxResults, int firstResult);

    int getActivityCount();
    
}
